.codeTable {
  color: #c7c9c8;
  background-color: #2b2b2b;
}

.centralCodeLine {
  background-color: #323232;
}

.lineContent {
  padding-left: 0.75rem;
  text-overflow: ellipsis;
}

.tableHeader {
  width: calc(82.25rem - 4px);
  height: 2.25rem;
  margin-top: 1rem;
  padding-left: 0.75rem;
  padding-top: 0.5rem;
  background-color: #fbfbfd;
  border: 2px solid #e7e7e9;
  border-bottom: none;
  border-radius: 0.25rem 0.25rem 0 0;
}

.searchedString {
  color: black;
  background-color: #c6a849;
  border-radius: 0.25rem;
}

.searchedStringLeft {
  color: black;
  background-color: #c6a849;
  border-radius: 0.25rem 0 0 0.25rem;
}

.searchedStringMiddle {
  color: black;
  background-color: #c6a849;
}

.searchedStringRight {
  color: black;
  background-color: #c6a849;
  border-radius: 0 0.25rem 0.25rem 0;
}

#openMenuButton {
  height: 2rem;
  width: 2rem;
  top: 1rem;
  right: 1rem;
  padding: 0;
  vertical-align: middle;
  background-color: #fff;
  border: none;
  border-radius: 0.25rem;
  position: absolute;
}

#openMenuButton:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#openMenuIcon {
  height: 2rem;
  width: 2rem;
}

#closeFiltersButton {
  height: 2rem;
  width: 2rem;
  margin-top: 1rem;
  margin-left: 27rem;
  padding: 0;
  vertical-align: middle;
  background-color: #fff;
  border: none;
  border-radius: 0.25rem;
}

#closeFiltersButton:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#closeFiltersIcon {
  height: 2rem;
  width: 2rem;
}

#menuComponent {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  background-color: white;
  z-index: 5;
  border-left: 2px solid #e7e7e9;
  border-radius: 0.5rem 0 0 0.5rem;
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
  transition: width 0.4s ease-out;
}

.openedMenuComponent {
  width: 30rem;
}

.closedMenuComponent {
  width: 0;
}

#filtersList {
  width: 100%;
  height: 12rem;
  margin-top: 3rem;
  padding-left: 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.filter {
  margin-top: 1rem;
}

.filterLabel {
  width: 8rem;
  display: inline-block;
  color: #878787;
}

.filterInput {
  height: 1.5rem;
  width: 18rem;
  margin-left: 1rem;
  outline: none;
  border: 1px solid #e7e7e9;
  border-radius: 0.25rem;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: center;
  vertical-align: middle;
  position: fixed;
}

.filterInput:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 2px #c4c4c4;
}

.filterInput:focus-within {
  box-shadow: 0 0 0 #e7e7e9, 0 0 4px #c4c4c4;
}

#repositoryTypeFilter {
  display: inline-block;
}

#repositoryTypeFilterDropdown {
  display: inline-block;
  height: 1.5rem;
  width: 18rem;
  margin-left: 1rem;
  border: 1px solid #e7e7e9;
  border-radius: 0.25rem;
  position: fixed;
}

.repositoryTypeFilterDropdownOpened {
  border-radius: 0.25rem 0.25rem 0 0;
}

#repositoryTypeFilterInput {
  height: calc(1.5rem - 2px);
  width: calc(18rem - 2px);
  text-align: center;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  outline: none;
  border: none;
}

#repositoryTypeFilterInput:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 2px #c4c4c4;
}

#repositoryTypeFilterInput:focus-within {
  box-shadow: 0 0 0 #e7e7e9, 0 0 4px #c4c4c4;
}

#repositoryTypeFilterDropdownContent {
  position: relative;
  width: 18rem;
  top: -1px;
  left: -1px;
  border: 1px solid #e7e7e9;
  border-radius: 0 0 0.25rem 0.25rem;
  background-color: white;
}

.dropdownOption {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 200;
}

#submitFiltersComponent {
  width: 12rem;
  margin-top: 2rem;
  margin-left: 9rem;
}

#submitFiltersButton {
  height: 2rem;
  width: 10rem;
  outline: none;
  border: none;
  color: white;
  background-color: #757575;
  border-radius: 0.25rem;
  font-size: 0.85rem;
  font-weight: 400;
}

#submitFiltersButton:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#submitFiltersButton:active {
  background-color: #636363;
  box-shadow: none;
}

#filtersListHeader {
  width: 30rem;
  height: 2rem;
  border-bottom: 2px solid #e7e7e9;
}

#filtersListLabel {
  width: 25rem;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 400;
}

#clearFiltersButton {
  width: calc(2rem - 3px);;
  height: calc(2rem - 3px);
  margin-left: 1rem;
  padding: 0;
  vertical-align: middle;
  background-color: #fff;
  border: none;
  border-radius: 0.25rem;
}

#clearFiltersButton:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#clearFiltersImage {
  width: 1.5rem;
  height: 1.5rem;
}

#optionsComponent {
  width: 100%;
  height: 12rem;
  margin-top: 13rem;
  padding-left: 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

#optionsHeader {
  width: 30rem;
  height: 2rem;
  border-bottom: 2px solid #e7e7e9;
}

#optionsLabel {
  width: 25rem;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 400;
}

#fetchButton {
  width: calc(2rem - 3px);;
  height: calc(2rem - 3px);
  margin-left: 1rem;
  padding: 0;
  vertical-align: middle;
  background-color: white;
  position: fixed;
  border: none;
  border-radius: 0.25rem;
}

#fetchButton:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#fetchIcon {
  width: 1.5rem;
  height: 1.5rem;
}

#lastUpdateTimeComponent {
  width: 30rem;
  height: 2rem;
  font-size: 1.1rem;
  font-weight: 400;
  color: #878787;
}

#centralComponent {
  width: 88rem;
  margin: 5rem auto;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
}

#searchComponent {
  display: flex;
  width: 88rem;
  height: 5rem;
  margin: 0 auto;
}

#logoImage {
  width: 5rem;
  height: 5rem;
}

#inputComponent {
  display: flex;
  width: 88rem;
  margin: auto 0rem;
  height: calc(3rem + 2px);
  background-color: #fff;
  background-clip: padding-box;
  border: 2px solid #e7e7e9;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

#inputComponent:focus-within {
  box-shadow: 0 0 0 #e7e7e9, 0 0 8px #c4c4c4;
}

#searchForm {
  width: 75rem;
  height: 2rem;
}

#searchInput {
  width: 75rem;
  height: 3rem;
  vertical-align: middle;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: #212529;
  border: none;
  outline: none;
}

#searchButton {
  width: 3rem;
  height: 3rem;
  margin-left: 1rem;
  margin-right: 0.5rem;
  margin-top: 1px;
  border: none;
  outline: none;
  background-color: white;
  border-radius: 0.25rem;
  padding: 0.25rem;
}

#searchImage {
  width: 2rem;
  height: 2rem;
}

#searchImage:hover {
  width: 2.5rem;
  height: 2.5rem;
}

#clearInputButton {
  width: 3rem;
  height: 3rem;
  margin-top: 1px;
  margin-left: 0.5rem;
  padding: 0;
  vertical-align: middle;
  background-color: #fff;
  border: none;
  border-radius: 0.25rem;
}

#clearInputImage {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
}

#clearInputImage:hover {
  box-shadow: 0 0 0 #e7e7e9, 0 0 10px #c4c4c4;
}

#filterResultsComponent {
  min-height: 2rem;
  max-height: 4rem;
  width: 83rem;
  margin-left: 5rem;
}

.filterResult {
  margin-left: 2rem;
  padding-left: 7px;
  padding-right: 7px;
  font-size: 1.1rem;
  font-weight: 300;
  color: #e7e7e9;
  background-color: #a3a3a3;
  text-align: center;
  vertical-align: middle;
  border-radius: 0.25rem;
  display: inline-block;
}

#resultsComponent {
  width: 83rem;
  margin-left: 5rem;
}

#snippetTable {
  width: 83rem;
  border-collapse: collapse;
}

#snippetTable .lineNumber {
  width: 1.7rem;
  color: #939090;
  text-align: center;
}

#gitlabLink {
  color: black;
  text-decoration: none;
}

#gitlabLink div {
  max-width: 82rem;
  color: black;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.searchResultsTableScrollableArea {
  width: 83rem;
  max-height: 20rem;
  overflow-y: scroll;
}

.searchResultsTableScrollableArea::-webkit-scrollbar {
  width: 0.75rem;
  background-color: #2b2b2b;
}

.searchResultsTableScrollableArea::-webkit-scrollbar-thumb {
  background: #5c5d5f;
}

.searchResultsTable {
  width: 82.25rem;
  border-collapse: collapse;
}

.searchResultsTable tr.selectedLine {
  background-color: #2f64ca !important;
}

.searchResultsTable tr:hover {
  background-color: #323232;
}

.searchResultsTable td {
  overflow: hidden;
}

.searchResultsTable .lineContent {
  width: 45rem;
  max-width: 45rem;
  text-align: left;
  white-space: nowrap;
}

.searchResultsTable .linePath {
  width: 25rem;
  color: #939090;
  text-align: right;
  white-space: nowrap;
}

.searchResultsTable .lineNumber {
  width: 1.7rem;
  color: #939090;
  padding-right: 5px;
  text-align: right;
}

#fuzzyResultsDisclaimer {
  text-align: center;
  font-size: 1.3rem;
  font-weight: 500;
}

#fuzzyResultsDisclaimer em {
  color: #8ab4f9;
}

#noResultsComponent {
  display: block;
  width: 83rem;
  margin-top: 5rem;
  text-align: center;
}

#noResultsImage {
  width: 6rem;
  height: 6rem;
}

#noResultsText {
  display: block;
  margin-top: 1.25rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #686666;
}

.loader {
    width: 5rem;
    height: 5rem;
    border: 5px solid #e7e7e9;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#snippetLoadingComponent {
  text-align: center;
}

#snippetLoadingComponent div {
  display:block;
  margin-top: 1.25rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #686666;
}

#snippetInfo {
  width: calc(82.25rem - 4px);
  height: 2.25rem;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  padding-top: 0.5rem;
  background-color: #fbfbfd;
  border: 2px solid #e7e7e9;
  border-top: none;
  border-radius: 0 0 0.25rem 0.25rem;
}

#languageCircle {
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
}

#languageSpan {
  margin-left: 0.75rem;
}

#branchImage {
  height: 1.75rem;
  width: 1.75rem;
  vertical-align: middle;
  margin-left: 3rem;
}

#snippetMetaInfoSpan {
  margin-left: 3rem;
  font-style: italic;
  color: #878787;
}

.metaInfo {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  color: black;
  font-style: normal;
}

#resultsLoadingComponent {
  margin-top: 5rem;
  text-align: center;
}

#resultsLoadingComponent div {
  display:block;
  margin-top: 1.25rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #686666;
}
